$(function () {
    // 1.表单校验
    // 使用botstrapValidator
    $('.login-form').bootstrapValidator({
        //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
        excluded: [':disabled', ':hidden', ':not(:visible)'],
        //2. 指定校验时的图标显示，默认是bootstrap风格
        feedbackIcons: {
            // valid: 'glyphicon glyphicon-ok',
            // invalid: 'glyphicon glyphicon-remove',
            valid: 'glyphicon glyphicon-thumbs-up',
            invalid: 'glyphicon glyphicon-thumbs-down',
            validating: 'glyphicon glyphicon-refresh'
        },
        //3. 指定校验字段
        fields: {
            //校验用户名，对应name表单的name属性
            username: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '用户名不能为空(⊙o⊙)…'
                    },
                    //长度校验
                    stringLength: {
                        min: 2,
                        max: 6,
                        message: '用户名长度必须是 2-6位(⊙o⊙)…'
                    },
                    // 拓展一个用户名不存在的提示信息
                    callback: {
                        message: '用户名不存在(⊙o⊙)…'
                    }
                }
            },
            //校验密码，对应password表单的password属性
            password: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '密码不能为空(⊙o⊙)…'
                    },
                    //长度校验
                    stringLength: {
                        min: 6,
                        max: 12,
                        message: '密码长度必须是6-12位(⊙o⊙)…'
                    },
                    //正则校验
                    regexp: {
                        regexp: /^[a-zA-Z0-9_\.]+$/,
                        message: '密码由数字字母下划线和.组成(⊙o⊙)…'
                    },
                    // 拓展一个错误的提示信息
                    callback: {
                        message: '密码错误(⊙o⊙)…'
                    }
                }
            },
        }
    })
    // 2.重置表单校验样式
    $('.btn-reset').on('click', function () {
        //  console.log( '111' );
        // 通过插件实例调用插件提供方法 resetForm() 重置校验样式的内容
        $('.login-form').data('bootstrapValidator').resetForm();
    })
    // 3.用户登录功能
    // 3.1点击登录按钮，获取表单数据，在表单数据校验通过情况下，向后台发送ajax请求，进行登录校验
    // 3.2接受后台的响应：
    //      登录成功：去首页
    //      登录失败：提示错误信息

    // 插件提供 success.form.bv事件：会在用户点击提交按钮，并且数据校验通过时触发！
    $('.login-form').on('success.form.bv', function (e) {
        // 阻止提交按钮sumbit的默认行为
        e.preventDefault();
        //  console.log( 111 );
        $.ajax({
            type: 'post',
            url: '/employee/employeeLogin',
            data: $('.login-form').serialize(),
            dataType: 'json',
            success: function (res) {
                // console.log(res);
                // 判断成功进行处理:跳转到index.html页面
                if (res.success) {
                    location.href = './index.html'
                }
                // 判断失败进行处理:失败给出错误提示！
                // 使用bootstrapValidator的updateStatus方法加自定义提示信息
                if (res.error == 1000) {
                    $('.login-form').data('bootstrapValidator').updateStatus('username','INVALID','callback');
                }
                if(res.error == 1001){
                    $('.login-form').data('bootstrapValidator').updateStatus('password','INVALID','callback');
                }
            }
        })
    })
})